Traditionally, playback of digital media content (e.g., movies, music, pictures, games, etc.) has been constrained to the computing device (e.g., desktop computer, smartphone, tablet, wearable, gaming system, television, etc.) on which the digital media content was stored. However, with the advent of cloud computing related technologies and increased capabilities of computing devices, services such as digital media content streaming, casting, and mirroring have sped up the generation, sharing, and consumption of digital media content as consumer devices capable of interacting with such content have become ubiquitous.
To deal with such vast amounts of data transfer in the on-demand landscape, various compression technologies have been implemented to support the streaming of digital media content in real-time with reduced latency. Such compression technologies (i.e., codecs and containers) include Moving Picture Experts Group standards (e.g., MPEG-2, MPEG-4, H.264, etc.) and MPEG transport stream (MPEG-TS). Further, various network control protocols, such as real time streaming protocol (RTSP), for example, have been developed for establishing and controlling media sessions between endpoint computing devices. Finally, various transport protocols (e.g., real-time transport protocol (RTP)) usable by the endpoint computing devices have been established for providing end-to-end network transport functions suitable for transmission of the digital media content in real-time.
However, some frames are too large to transmit in a single packet, thereby requiring a series of network packets making up a particular frame having to be received by an endpoint computing device before processing. Such processing (e.g., encoding, decoding, packetizing, de-packetizing, multiplexing, etc.) can introduce latency associated with streaming digital media content in real-time. For example, in present technologies, an endpoint computing device receiving a network packet that includes a portion of a frame of video being streamed to the endpoint computing device may contain an indicator (e.g., one or more bits of a header of the network packet) as to whether the network packet corresponds to the start of a new video frame. Accordingly, the endpoint computing device may only send the previously accumulated portions of the frame to a decoder upon receiving a network packet that corresponds to the first portion of the next frame, thereby introducing further latency into the decoding process.